<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller
{
    public function index()
    {
        $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover,{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>！</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>', 'utf-8');
        echo "this is admin module ";

    }
    public function _initialize(){
        if(!session('?admin')){
            $this->error('当前用户没有权限',U('Login/login'));
            exit;
        }
    }
    //方法名和视图层名一样
    public function userlist()
    {
        $User= M('Users');
        // 实例化User对象
        $count= $User->count();
        //// 查询满足要求的总记录数
        $Page= new \Think\Page($count,5);
        //// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $show= $Page->show();
        //// 分页显示输出
        //// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $User->limit($Page->firstRow.','.$Page->listRows)->select();
        //$this->assign('list',$list);
        ///赋值数据集
        //$this->assign('page',$show);//把数据传到界面
        //// 赋值分页输出
        $this->users=$list;
        $this->page=$show;
        $this->display();
    }
    public function bsuserlist()
    {
        //$usersModel = M('Users');//为调用模型中的方法生成模型对象
        //$users = $usersModel->order('id desc')->select();//通过方法调用，返回所需数据 使用select方法
        //$users为函数中的局部变量，在外面不可见
        //select * from think_users order by id desc
        //$this->users = $users;
        //$this->assign();
        $User= M('Users');
         // 实例化User对象
         $count= $User->count();
         //// 查询满足要求的总记录数
         $Page= new \Think\Page($count,5);
         //// 实例化分页类 传入总记录数和每页显示的记录数(25)
         $show= $Page->show();
         //// 分页显示输出
         //// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
         $list = $User->limit($Page->firstRow.','.$Page->listRows)->select();
         //$this->assign('list',$list);
         ///赋值数据集
         //$this->assign('page',$show);//把数据传到界面
         //// 赋值分页输出
        $this->users=$list;
        $this->page=$show;
        $this->display();
         // // 输出模板
        //$this->display();//把当前对象所有全局变量传递到对应的视图中，可以使用assign方法限制传递的全局变量

    }

    public function users()
    {
        $usersModel = M('Users');//为调用模型中的方法生成模型对象
        $users = $usersModel->order('id desc')->select();//通过方法调用，返回所需数据 使用select方法
        //$users为函数中的局部变量，在外面不可见
        //select * from think_users order by id desc
        $this->users = $users;
        //$this->assign();
        $this->display();//把当前对象所有全局变量传递到对应的视图中，可以使用assign方法限制传递的全局变量

    }

    public function del($id)
    {
        //生成一个users模型，与表对应，调用模型的方法删除书数据
        $usersModel = M('Users');
        if ($usersModel->delete($id)) {
            //删除成功
            $this->success('删除成功');
        } else {
            $this->error('删除失败'); //删除失败
        }
        //delete *from think_users where id=$id;

    }

    public function setstar($id)
    {
        $usersModel = M('Users');
        $data['isstar'] = 1;
        if ($usersModel->where("id=$id")->save($data)) {
            //update users set isstar=1 where id=$id
            $this->success('修改成功');
        } else {
            $this->error('修改失败');
        }

    }

    public function unstar($id)
    {
        $usersModel = M('Users');
        $usersModel->isstar = 0;
        $usersModel->isfirst = 0;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('取消明星作者成功');
        } else {
            $this->error('修改失败');
        }
    }

    public function setfirst($id)
    {
        $usersModel = M('Users');
        $data['isfirst'] = 1;
        $data['isstar'] = 1;
        if ($usersModel->where("id=$id")->save($data)) {
            //update users set isstar=1 where id=$id
            $this->success('设置首页推荐成功');
        } else {
            $this->error('设置首页推荐失败');
        }
    }

    public function unfirst($id)
    {
        $usersModel = M('Users');
        $data['isfirst'] = 0;
        if ($usersModel->where("id=$id")->save($data)) {
            //update users set isstar=1 where id=$id
            $this->success('取消首页推荐成功');
        } else {
            $this->error('取消首页推荐失败');
        }
    }

    public function updateuserInfo($id)
    {
        $usersModel = M('Users');
        $this->user = $usersModel->find($id);
        $this->display();
        //将查询到的用户信息user传递给模版，updateuserinfo
    }

    public function update1()
    {

        $usersModel = M('Users');
        $data['id'] = $_POST['id'];
        $data['username'] = $_POST['username'];
        $data['pass'] = $_POST['pass'];
        $data['realname'] = $_POST['realname'];
        $data['email'] = $_POST['email'];
        $data['tele'] = $_POST['tele'];
        $data['state'] = $_POST['state'];
        $data['verifyinfo'] = $_POST['verifyinfo'];
        $data['isstar'] = $_POST['isstar'];
        $data['isfirst'] = $_POST['isfirst'];
        //var_dump($data);
        if ($usersModel->save($data)) {
            $this->success('修改成功');
        } else {
            $this->error('修改失败');
        }

    }

    public function update()
    {
        //获取updateuserinfo界面交过来的数据
        //$data=$_POST  $data=I(post.) $data=create()利用POST数组创建一个对象
        $userModel = D('Users');
        $userModel->create();
        if ($_FILES['photo']['error'] == 0) {
            $photoinfo = $this->upload();
            //var_dump($photoinfo);
            $userModel->photo = $photoinfo['photo']['savename'];
        }
        //var_dump($userModel);
        if ($userModel->save()) {
            $this->success('修改用户成功', 'users');
        } else {
            $this->error('修改用户失败');
        }

    }

    public function upload()
    {
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Public/Uploads/photo/'; // 设置附件上传根目录
        //$upload->savePath = ''; // 设置附件上传（子）目录
        $upload->autoSub = false;
// 上传文件
        $info = $upload->upload();
        if (!$info) {
            // 上传错误提示错误信息
            $this->error($upload->getError());
        } else {// 上传成功

            return $info;
        }
    }

    public function img()
    {

        $photoinfo = $this->upload();

        $filepath = './public/Uploads/photo/';
        $oldfilename = $photoinfo['photo']['savename'];
        $oldfilefullname = $filepath . '\\' . $oldfilename;
        $newfilename = 'thumb_' . $oldfilename;
        $newfilefullname = $filepath . '\\' . $newfilename;
        $image = new \Think\Image();
        $image->open($oldfilefullname);  //注意图片的路径。
        $image->thumb(100, 100)->save($newfilefullname);
        return $newfilename;


    }

    public function addUser()
    {
        //接受从add.html页面提交的信息
        //注意图像的名字，需单独处理，以及PHOTOT字段的赋值
        //保存到数据库 add()
        $userModel = D('Users');
        //保存对象到数据库中
        if ($userModel->create()) {
            if ($_FILES['photo']['error'] == 0) {
                $fileinfo = $this->img();
                //将临时文件保存到指定位置
                $userModel->photo = $fileinfo;//获取并设置文件名称
            }
            //var_dump($userModel);
            if ($userModel->add()) {
                $this->success('添加用户成功', 'users');
            } else {
                $this->error('添加用户失败');
            }
        } else {
            $this->error($userModel->getError());
        }


    }

    public function apps()
    {
        $appsModel = M('Apps');//为调用模型中的方法生成模型对象
        $apps = $appsModel->order('id desc')->select();//通过方法调用，返回所需数据 使用select方法
        //$users为函数中的局部变量，在外面不可见
        //select * from think_users order by id desc
        $this->apps = $apps;
        //$this->assign();
        $this->display();//把当前对象所有全局变量传递到对应的视图中，可以使用assign方法限制传递的全局变量

    }

    public function addApp()
    {
        //接受从add.html页面提交的信息
        //注意图像的名字，需单独处理，以及PHOTOT字段的赋值
        //保存到数据库 add()
        $appModel = D('Apps');
        //保存对象到数据库中
        if ($appModel->create()) {
            if ($_FILES['logo']['error'] == 0) {
                $fileinfo = $this->logoimg();
                //将临时文件保存到指定位置
                $appModel->logo = $fileinfo;//获取并设置文件名称
            }
            //var_dump($userModel);
            if ($appModel->add()) {
                $this->success('添加用户成功', 'apps');
            } else {
                $this->error('添加用户失败');
            }
        } else {
            $this->error($appModel->getError());
        }

    }

    public function logoimg()
    {

        $logoinfo = $this->upload();

        $filepath = './public/Uploads/photo/';
        $oldfilename = $logoinfo['logo']['savename'];
        $oldfilefullname = $filepath . '\\' . $oldfilename;
        $newfilename = 'thumb_' . $oldfilename;
        $newfilefullname = $filepath . '\\' . $newfilename;
        $image = new \Think\Image();
        $image->open($oldfilefullname);  //注意图片的路径。
        $image->thumb(100, 100)->save($newfilefullname);
        return $newfilename;


    }
    public function updateappInfo($id)
    {
        $appsModel = M('Apps');
        $this->app = $appsModel->find($id);
        $this->display();
        //将查询到的用户信息user传递给模版，updateuserinfo
    }
    public function updateapp()
    {
        //获取updateuserinfo界面交过来的数据
        //$data=$_POST  $data=I(post.) $data=create()利用POST数组创建一个对象
        $appModel = D('Apps');
        $appModel->create();
        if ($_FILES['logo']['error'] == 0) {
            $logoinfo = $this->upload();
            //var_dump($photoinfo);
            $appModel->logo = $logoinfo['logo']['savename'];
        }
        //var_dump($userModel);
        if ($appModel->save()) {
            $this->success('修改用户成功', 'apps');
        } else {
            $this->error('修改用户失败');
        }

    }
    public function delapp($id)
    {
        //生成一个users模型，与表对应，调用模型的方法删除书数据
        $appsModel = M('Apps');
        if ($appsModel->delete($id)) {
            //删除成功
            $this->success('删除成功');
        } else {
            $this->error('删除失败'); //删除失败
        }
        //delete *from think_users where id=$id;

    }

}
